1. Field of the Invention
Embodiments of the present invention relate to a device and a method for providing network virtualization.
2. Description of the Related Art
A processing technique for speedup of network traffic in a network interface card (NIC) of a multiprocessor-based server system is constantly advancing. One of the most serious problems is that traffic received by the NIC is not effectively processed by a multiprocessor in a server.
A technology for resolving a Receive Side Scaling (RSS) problem in a virtualized environment is Virtual Machine Queue (VMQ). VMQ technology allows distributed processing of network traffic by a multiprocessor even in a virtualized environment using a method of generating a VMQ in an NIC and mapping each VMQ onto a processor in a host, making high-speed traffic processing possible.
FIG. 1 illustrates a configuration of conventional VMQ technology.
A server system sets a VMQ and assigns a processor to process the VMQ. The server system receives incoming packets input to a server through an NIC, classifies the packets based on L2 information, for example, destination media access control (MAC), and sends the packets to the VMQ. The processor to process the VMQ processes the packets sent to the VMQ and transmits the packets to a virtual machine through an L2 virtual switch, and the virtual machine processes the received packets.
Since VMQ technology statically assigns VMQs, a too small number of processors may be assigned to a plurality of queues which involve traffic congestion or a small number of queues which hardly use traffic may be assigned to a too large number of processors.
To solve a statistical assignment problem of VMQ, Dynamic Virtual Machine Queue (DVMQ) is provided. DVMQ technology is a method of dynamically assigning a VMQ to a multiprocessor based on network traffic amount and total use of a processor.
When network traffic amount or total use of a processor exceeds a set upper threshold, a multi-machine queue assigned to the processor needs dynamically reassigning. When the network traffic amount or total use of the processor is below a set lower threshold, the multi-machine queue assigned to the processor is dynamically reassigned to remove the processor from assigning, thereby optimizing network traffic processing performance and power consumption.
Meanwhile, network virtualization in a cloud system means ensuring that network traffic of virtual machines belonging to the same tenant is not affected by network traffic of virtual machines belonging to different tenants. However, conventional VMQ or DVMQ technology provides a technique for optimizing network processing performance and power consumption in a multiprocessor environment but does not consider a network virtualization technique required by the cloud system in the optimization process.
Thus, a method of providing network virtualization is needed which ensures that network traffic processing of virtual machines belonging to the same tenant is not affected by congestion in network traffic of virtual machines belonging to different tenants.